package com.wzcl.app.service;

import com.wzcl.app.model.common.MyPage;
import com.wzcl.app.model.dto.WrongTopicDto;
import com.wzcl.app.model.vo.WrongTopicPreviewVo;
import com.wzcl.app.model.vo.WrongTopicVo;

import java.util.List;


public interface WrongTopicService{

    //新增错题
    void addWrongTopic(WrongTopicDto wrongTopicDto);

    //用户移除错题
    void delWrongTopicByTopicIdAndUserPhone(Integer KnowledgePointId, String userPhone);

    //删除题目移除该题相关的所有错题记录
    void delWrongTopicByTopicId(Integer topic);

    //删除知识点移除该题相关的所有错题记录
    void delWrongTopicByKnowledgePointId(Integer KnowledgePointId);

    //删除知识点关联相关的所有错题记录
    void delWrongTopicByTopicAndKnowledgePointId(Integer knowledgePointId);

    //条件统计用户所有的错题
    Long countWrongTopicGroupByTopic(WrongTopicDto wrongTopicDto);

    //条件统计用户错题中的知识点
    Long countWrongTopicGroupByKnowledgePoint(WrongTopicDto wrongTopicDto);

    //预览用户的错题知识点分类
    List<WrongTopicPreviewVo> findCondition(WrongTopicDto wrongTopicDto);

    //分页找错题
    MyPage<WrongTopicVo> findWrongTopicPage(WrongTopicDto wrongTopicDto);
}
